Skip to content

Experiment - #127

Open
DmitrievDmitriyA wants to merge 16 commits into
mainfrom
experiment
Open

Experiment#127
DmitrievDmitriyA wants to merge 16 commits into
mainfrom
experiment

Conversation

@DmitrievDmitriyA

@DmitrievDmitriyA DmitrievDmitriyA commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Description

Please include a summary of the change and which issue is fixed.

Checklist

  • Content changes have been applied to all three languages (English, Russian, Chinese) OR a follow-up issue has been opened to track missing translations.
  • Any new external links have been verified. (If a link is bot-blocked and fails CI, it has been added to .lycheeignore with a comment).
  • I have run lychee locally to verify links according to CONTRIBUTING.md.

@DmitrievDmitriyA
DmitrievDmitriyA requested a review from salmer July 27, 2026 19:17
…-id DSL + per-language tsv + chrome/stages); regenerate EN/RU/ZH, all pass mapcheck
…are no longer auto-laid-out. Each hint carries a polar offset (angle deg, dist px) from its target in structure.dsl; extract.py fills these from the hand map so notes replay verbatim, then they're tuned until mapcheck is clean. Drops the iterative margin-push / collision engine. Restructure: the canonical source moves examples/fullmap -> roadmap (it is the real map, not a demo), and the feature-demo examples/ are removed. Regenerates all three live maps from the source; mapcheck reports 0 hard errors and 0 cross-language drift.
…xtract.py and remap.py are one-off helpers (derive roadmap/ from the hand-drawn maps, onboard a new language) — not part of the build loop. Move them into tools/mapgen/bootstrap/ with their own README, and slim the main README to a pointer: the DSL is the source of truth going forward. Document the hint polar convention in structure.dsl (angle: 0=right, 90=up, 180=left, 270=down; dist in pixels) and have extract.py emit that comment so a re-extract keeps it.
…ide Port build.ps1 to build.py (Pillow text metrics, same lib as mapcheck, so generator and checker agree on widths). Node widths land within ~1.5px of the PowerShell build; re-tuned 5 RU hints to clear residual sub-12px overlaps. Remove build.ps1. Add `arrow=left|right|top|bottom` to hints (which box edge the arrow starts from) and default it to the edge facing the target on the dominant axis, so notes above/below a target arrow from top/bottom instead of the side. Regenerate all three maps; mapcheck clean. Update README/.gitignore/bootstrap docs to build.py; drop TODO -1 / -1.1.
@@ -0,0 +1,41 @@
name: Check maps

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you "Description" with a short description what the workflow does

Comment thread English/Graph/README.md
- wording (a label, a hint, the date) → the matching row in `en.tsv` / `ru.tsv` / `zh.tsv`
(a new node needs a row in **all three**).
2. Rebuild and copy over the maps (needs Python + Pillow + the draw.io desktop CLI):
```bash

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about to write setup script which can be used either by us or by contrubutors? Then they/we just run it from the repo, and the magic happens

Comment thread Russian/README.md
Comment thread tools/mapgen/roadmap/ru.remap.tsv
Comment thread tools/mapgen/roadmap/structure.dsl
Comment thread tools/mapgen/README.md
@@ -0,0 +1,205 @@
# mapgen — generate draw.io map fragments from a text DSL + translations

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add some screenshots maybe of somebody wants to add new leafs/etc?

Usually visual content works better in addition of the text

@@ -0,0 +1,72 @@
# mapgen/bootstrap — reverse-engineer a hand-drawn map into the DSL

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra pictures of the map DSL design etc? To improve readability and understanding of it's design.

Maybe extra diagrams to show high-level design of DSL/generator?

Comment thread tools/mapcheck/check.py
@@ -0,0 +1,358 @@
#!/usr/bin/env python3
"""
mapcheck — validate the roadmap maps (<Lang>/Graph/roadmap.drawio.svg).

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is completely Ai-generated, right?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants